home *** CD-ROM | disk | FTP | other *** search
Text File | 1989-05-01 | 4.2 KB | 148 lines | [TEXT/GEOL] |
- Item forwarded by YEPEZ1 to STATTENFIELD
-
- Item 4607928 28-April-89 18:22
-
- From: D0420 Satori SW, Hugh Rogovy, PRT
-
- To: MACAPP.TECH$ MACAPP Tech
-
- Sub: More than 255
-
- Item 7420307 25-April-89 20:39
-
- From: MACAPP.TEST MacApp SQA Team
-
- To: D0420 Satori SW, Hugh Rogovy, PRT
-
- Sub: More than 255
-
- Chris,
-
- MacApp 2.0B9 will not have the changes you desire in TStaticText.
- A long time ago, I created a dialog view that tabbed between EditText items and
- TEViews. Here are some of the relevant methods. As you can see the HandleTAB
- method is specific to my subviews. This code isn't very elegant, and I haven't
- built it since B5, but I had to send you something before you finished coding.
-
- Richard Rodseth
-
- {------------------------------------------------------------------------}
- { Methods for TAgendaView(subclass of TDialogView) }
- {------------------------------------------------------------------------}
-
- PROCEDURE TAgendaView.DoChoice (origView: TView; itsChoice: INTEGER); OVERRIDE;
- BEGIN
- IF itsChoice = mEditTextHit
- THEN fCurrentId := origView.fIdentifier;
- INHERITED DoChoice(origView,itsChoice);
- END;
-
- FUNCTION TAgendaView.HandleTab (callingView: TView; VAR info: EventInfo):
- TCommand;OVERRIDE;
- VAR
- nextID : IDType;
-
- FUNCTION Successor(id : idType;back : BOOLEAN) : IDType;
- BEGIN
- Successor := 'ERRO';
- IF back
- THEN BEGIN
- IF (id = 'NAME') OR (id = 'NONE')
- THEN Successor := 'ADDI'
- ELSE IF id = 'ADDI'
- THEN Successor := 'PROP'
- ELSE IF id = 'PROP'
- THEN Successor := 'ITEM'
- ELSE IF id = 'ITEM'
- THEN Successor := 'EXTE'
- ELSE IF id = 'EXTE'
- THEN Successor := 'NAME';
- END
- ELSE BEGIN
- IF id = 'NAME'
- THEN Successor := 'EXTE'
- ELSE IF id = 'EXTE'
- THEN Successor := 'ITEM'
- ELSE IF id = 'ITEM'
- THEN Successor := 'PROP'
- ELSE IF id = 'PROP'
- THEN Successor := 'ADDI'
- ELSE IF (id = 'ADDI') OR (id = 'NONE')
- THEN Successor := 'NAME'
- END;
- END;
-
- BEGIN
- HandleTab := gNoChanges;
- nextID := Successor(fCurrentID,info.theShiftkey);
- SelectEditText(nextID, TRUE);
- END;
-
- PROCEDURE TAgendaView.SelectEditText (itsIdentifier: IDType; selectChars:
- BOOLEAN);
-
- VAR
- oldView : TView;
- aSubView: TView;
-
- BEGIN
- oldView := FindSubView(fCurrentID);
- aSubView := FindSubView(itsIdentifier);
- IF (aSubView <> NIL)
- THEN BEGIN
- fCurrentID := itsIdentifier;
- IF Member(aSubView, TEditText)
- THEN DoSelectEditText(TEditText(aSubView), selectChars)
- ELSE
- IF Member(aSubView, TMyTEView)
- THEN BEGIN
- IF Member(oldView,TEditText)
- THEN BEGIN
- DoSelectEditText(NIL, FALSE);
- END;
- gApplication.SetTarget(TMyTEView(aSubView));
- IF selectChars THEN TESetSelect(0,32767,TMyTEView(aSubView).fHTE);
- { Scroll selection into view ?}
- END;
- END;
- END;
-
- {------------------------------------------------------------------------}
- { Methods for TMyTEView }
- {------------------------------------------------------------------------}
-
- {$IFC qProceduralViews}
- PROCEDURE TMyTEView.IMyTEView(itsSuperView : TView;
- itsLocation, itsSize: VPoint;itsID : IDType);
- VAR itsInset : Rect;
- itsStyle : TextStyle;
- BEGIN
- SetRect(itsInset,4,4,4,0);
- SetTextStyle(itsStyle, applFont, [], 9, gRGBBlack);
- ITEView(NIL,itsSuperView,itsLocation,itsSize,
- sizeFixed,sizeVariable,itsInset,itsStyle,teJustleft,kWithoutStyle,TRUE);
- fIdentifier := itsID;
- END;
- {$ENDC}
-
- FUNCTION TMyTEView.DoKeyCommand(ch: Char; aKeyCode: INTEGER; VAR info:
- EventInfo): TCommand; OVERRIDE;
- CONST chQuote = CHR($22);
- BEGIN
- IF (ch = chQuote)
- THEN DoKeyCommand := gNoChanges
- ELSE
- IF (ch = chTab) & (fNextHandler <> NIL){ let the DialogView handle it }
- THEN DoKeyCommand := fNextHandler.DoKeyCommand(ch,aKeyCode,info)
- ELSE DoKeyCommand := INHERITED DoKeyCommand(ch,aKeyCode,info);
- END;
-
- FUNCTION TMyTEView.DoMouseCommand(VAR theMouse: Point; VAR info: EventInfo;
- VAR hysteresis: Point): TCommand; OVERRIDE;
- BEGIN
- TAgendaView(GetDialogView).SelectEditText(fIdentifier,FALSE);
- DoMouseCommand := INHERITED DoMouseCommand(theMouse,info,hysteresis);
- END;
-
-
-